home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d20 / fddev202.arc / PASCAL.ARC / CTL.INC next >
Text File  |  1991-10-01  |  24KB  |  713 lines

  1. (*
  2. **  ctl.inc (FrontDoor)
  3. **
  4. **  Copyright 1991 Joaquim H. Homrighausen. All rights reserved.
  5. **
  6. **  SETUP.FD definitions for FrontDoor 2.00+
  7. **
  8. **  Last revision:  91-10-02
  9. **
  10. **  -------------------------------------------------------------------------
  11. **  This information is not necessarily final and is subject to change at any
  12. **  given time without further notice
  13. **  -------------------------------------------------------------------------
  14. *)
  15.  
  16. (* Mailer ----------------------------------------------------------------- *)
  17.  
  18. (* --- Loglevels *)
  19.  
  20. CONST
  21.   LOGFATAL    = $0001;                                    (* ! Fatal errors *)
  22.   LOGERROR    = $0002;                                          (* ? Errors *)
  23.   LOGBRIEF    = $0004;                         (* + Major changes in action *)
  24.   LOGACCT     = $0008;                          (* $ Accounting information *)
  25.   LOGXFER     = $0010;                             (* * Sent/Received files *)
  26.   LOGTRIVIAL  = $0020;                         (* - Minor changes in action *)
  27.   LOGXFERMSG  = $0040;                               (* % Transfer messages *)
  28.   LOGMODEM    = $0080;                      (* = Modem activities/responses *)
  29.   LOGTRX      = $0100;                     (* : Session transaction numbers *)
  30.   LOGSESSION  = $0200;                      (* ~ Session stuff, SysOp, etc. *)
  31.   LOGRMTAKAS  = $0400;                            (* ~ Remote system's AKAs *)
  32.   LOGRMTINFO  = $0800;                     (* ~ Remote system's information *)
  33.   LOGUNEXPECT = $1000;                             (* # Unexpected password *)
  34.   LOGDEBUG    = $8000;                             (* All loglevels enabled *)
  35.  
  36. (* --- Miscellaneous MAILER flags *)
  37.  
  38.   NOUNLISTED      = $00000001;              (* Don't allow unlisted systems *)
  39.   CREATE_BATCH    = $00000002;          (* Create batchfile when BBS caller *)
  40.   TERMONLY        = $00000004;                  (* Running as Terminal-Only *)
  41.   DTR_HANGUP      = $00000008;                         (* Use DTR to hangup *)
  42.   DTR_DIAL        = $00000010;               (* Toggle DTR prior to dialing *)
  43.   DTR_BUSY        = $00000020;                    (* Use DTR to signal BUSY *)
  44.   MANUAL_ANSWER   = $00000040;                         (* Use manual answer *)
  45.   CONNECT_RESET   = $00000080;              (* Reset modem to connect speed *)
  46.   MODEM_FIXED     = $00000100;          (* Use constant speed against modem *)
  47.   NOMAIL_NOPWD    = $00000200;            (* No mail from unsecured systems *)
  48.   DELAYFIRST      = $00000400;                   (* Delay before first call *)
  49.   CLOCK           = $00000800;                             (* Display clock *)
  50.   KILLNULL        = $00001000;              (* Remove messages with no text *)
  51.   MAILONLY        = $00002000;                 (* Don't allow human callers *)
  52.   LIMITED_ANSWER  = $00004000;                   (* Limited hours to answer *)
  53.   EXIT_NETMAIL    = $00008000;                (* Exit when netmail received *)
  54.   ZONE_ADAPTION   = $00010000;                 (* Adopt called/calling zone *)
  55.   PRINTNEWMSGS    = $00020000;                   (* Print received messages *)
  56.   NOUNKNOWNPOINTS = $00040000;              (* Don't accept unlisted points *)
  57.   FORCEDCARRIER   = $00080000;          (* Carrier is forced. Ring required *)
  58.   NULLMODEM       = $00100000;             (* Initiate session when CD high *)
  59.   MAILER43LINES   = $00200000;             (* Use 43/50 line mode in mailer *)
  60.   SWAPTOEMSDISK   = $00400000;         (* Swap file to LIM/EMS/DISK w/shell *)
  61.   MAILEREMSOK     = $00800000;           (* If EMS can be used for swapping *)
  62.   PRESENTAKAS     = $01000000;         (* Present AKAs during EMSI sessions *)
  63.   NOBLINKMAIL     = $02000000;         (* Don't flash the waiting mail sign *)
  64.   EXITONANYFILE   = $04000000;         (* Exit after ANY data has been rcvd *)
  65.   MAILERAUTOLINES = $08000000;         (* Use whatever screen mode is there *)
  66.   HONOR_RRQ       = $10000000;                                 (* Honor RRQ *)
  67.   NO_TIMESTAMP    = $20000000;          (* Don't show timestamp in window-1 *)
  68.   MAILERCUSTOMCRT = $40000000;                  (* User-defined screen size *)
  69.  
  70. (* --- Audio flags *)
  71.  
  72.   CLOCKNOISE      = $0001;                       (* Tic-tac-tic-tac-tic-tac *)
  73.   INMAILNOISE     = $0002;                             (* Unpacked any mail *)
  74.   INCRASHNOISE    = $0004;              (* Unpacked crash or immediate mail *)
  75.   INCONNECTNOISE  = $0008;                  (* Incoming MAIL call (connect) *)
  76.   INCALLERNOISE   = $0010;              (* Incoming human caller passed >BBS*)
  77.   MAILWAITING     = $0020;                               (* Mail is waiting *)
  78.   OUTMAILNOISE    = $0040;                     (* Sent mail (after session) *)
  79.   OUTCONNECTNOISE = $0080;                  (* Outgoing MAIL call (connect) *)
  80.   ERRORNOISE      = $0100;                                        (* S.O.S. *)
  81.  
  82. (* --- Request types *)
  83.  
  84.   REQALL          = $01;                             (* Anybody can request *)
  85.   REQNONE         = $02;                              (* No one can request *)
  86.   REQLISTED       = $04;                             (* Only listed systems *)
  87.   REQLIMITED      = $08;                                   (* Limited hours *)
  88.  
  89. (*--------------------------------------------------------------------------*)
  90.   MAXKEY          = 24;
  91.  
  92. TYPE
  93.   Arr11           = array[1..11] of Char;
  94.   Arr16           = array[1..16] of Char;
  95.   Arr26           = array[1..26] of Char;
  96.   Arr31           = array[1..31] of Char;
  97.   Arr40           = array[1..40] of Char;
  98.   Arr41           = array[1..41] of Char;
  99.   Arr50           = array[1..50] of Char;
  100.   Arr61           = array[1..61] of Char;
  101.   Arr71           = array[1..71] of Char;
  102.  
  103. (*--------------------------------------------------------------------------*)
  104.  
  105.   MailRec         = RECORD
  106.  
  107.     (* --- The logfile *)
  108.  
  109.     Log           : Arr71;
  110.     LogLevel      : word;                              (* See --- Loglevels *)
  111.  
  112.     (* ---  Telephone number manipulation *)
  113.  
  114.     Prefix        : Arr31;                                  (* Always added *)
  115.     Hidden        : array[1..10] of Arr31;           (* Strip these if in # *)
  116.     PostFix       : Arr31;                               (* Always appended *)
  117.  
  118.     (* --- Miscellaneous flags *)
  119.  
  120.     Flags         : longint;                 (* See --- Miscellaneous flags *)
  121.     Flags_Reserved: longint;                              (* Reserved flags *)
  122.     Audio         : word;                            (* See --- Audio flags *)
  123.     SynchTimer    : byte;                     (* Number of seconds for sync *)
  124.  
  125.     (* --- Errorlevels *)
  126.  
  127.     CrashExit,                                                 (* Mail exit *)
  128.     bbs300,
  129.     bbs1200,
  130.     bbs1275,
  131.     bbs2400,
  132.     bbs4800,
  133.     bbs9600,
  134.     bbs19200,
  135.     bbs38400      : byte;
  136.  
  137.     (* --- Modem *)
  138.  
  139.     ModemBaud     : word;                          (* 30=300, 24=2400, etc. *)
  140.     ModemPort,                              (* 1-255 (COM1=1, COM2=2, etc.) *)
  141.     ModemDelay    : byte;                 (* 1/10 seconds delay / line sent *)
  142.  
  143.     (* --- Messages *)
  144.  
  145.     b300msg,
  146.     b1200msg,
  147.     b1275msg,
  148.     b2400msg,
  149.     b4800msg,
  150.     b9600msg,
  151.     b19200msg,
  152.     b38400msg,
  153.     ErrorMsg,
  154.     BusyMsg,
  155.     NoCarrierMsg,
  156.     OkMsg,
  157.     RingMsg,
  158.     NodialMsg,
  159.     NoAnswerMsg,
  160.     VoiceMsg      : Arr16;
  161.  
  162.     (* --- Commands *)
  163.  
  164.     EscapeStr,
  165.     OffhookStr,
  166.     ReconnectStr  : Arr11;
  167.     Init1,
  168.     Init2,
  169.     Init3,
  170.     ResetStr,
  171.     DownStr       : Arr50;
  172.     HangupStr,
  173.     DialStr       : Arr11;
  174.  
  175.     (* --- Manual answer stuff *)
  176.  
  177.     OldModemAnswer: Arr11;                              (* Not used anymore *)
  178.     AnswerDelay   : byte;
  179.  
  180.     (* --- Limited answer start and end times *)
  181.  
  182.     Begin_Hour,
  183.     Begin_Minute,
  184.     End_Hour,
  185.     End_Minute    : byte;
  186.  
  187.     (* --- Calling control *)
  188.  
  189.     RetryBusy,
  190.     RetryResend,
  191.     RetryDelay    : byte;
  192.  
  193.     (* --- File request control *)
  194.  
  195.     reqlist,                               (* List to scan for reqable dirs *)
  196.     reqalias,                                            (* Magic filenames *)
  197.     reqmessage    : Arr71;            (* Appended to FAILED REQUEST message *)
  198.     reqtype,                                                   (* Bit field *)
  199.     reqmaxfiles   : byte;           (* Max number of files to send on 1 req *)
  200.     reqmaxtime,                        (* Maximum number of minutes for req *)
  201.     reqmaxsize,                             (* Maximum size (in KB) for req *)
  202.     reqminbaud    : word;                       (* Minimum baudrate for req *)
  203.     reqstarthr,                     (* Start time for file requests, can be *)
  204.     reqstartmin,                       (* - combined with the reqdays field *)
  205.     reqendhr,
  206.     reqendmin,              
  207.     reqdays       : byte;           (* 7 6 5 4 3 2 1        $80==All days
  208.                                        _ _ _ _ _ _ _
  209.                                        : : : : : : :
  210.                                        : : : : : : +--- Saturday
  211.                                        : : : : : +----- Friday
  212.                                        : : : : +------- Thursday
  213.                                        : : : +--------- Wednesday
  214.                                        : : +----------- Tuesday
  215.                                        : +------------- Monday
  216.                                        +--------------- Sunday              *)
  217.  
  218.     (* --- File to send when human callers are let thru *)
  219.  
  220.     BBSname       : Arr11;
  221.     LoadBBSbanner : Arr71;
  222.  
  223.     (* Function keys from mailer menu *)
  224.     (* --- F1-F12, Shift F1-F12       *)
  225.  
  226.     Key           : Array[1..MAXKEY] of RECORD
  227.       Cmd         : Arr61;
  228.       Title       : Arr26;
  229.       Behavior    : byte;                    (* 1-Pause, 2-Process msg base *)
  230.     End;
  231.  
  232.     (* --- Mailer colors *)
  233.  
  234.     Color         : RECORD
  235.       Header,
  236.       HiLite,
  237.       Clock,
  238.       DataEntry,
  239.       Error,
  240.       NormalText,
  241.       Frame,
  242.       WndwText,
  243.       WndwFrame,
  244.       WndwSelect,
  245.       WndwHiLite  : byte;
  246.     End;
  247.  
  248.     (* --- Number of days to keep entries in history files *)
  249.  
  250.     KeepHistory   : byte;
  251.  
  252.     (* --- FDServer password, if none given, server is INactive *)
  253.  
  254.     SlavePwd      : Array[1..21] of char;
  255.  
  256.     (* --- File displayed to users when system is in event for no callers *)
  257.  
  258.     InEventFile   : Arr71;
  259.  
  260.     (* --- File displayed when human callers are seen on mail-only system *)
  261.  
  262.     MailOnlyFile  : Arr71;
  263.  
  264.     (* --- External programs to run on certain "wake-up" strings *)
  265.  
  266.     ExternMail    : Array[1..10] of RECORD
  267.       WakeUpStr   : Arr40;
  268.       ErrorLevel  : byte;
  269.     End;
  270.  
  271.     (* --- Limited audio start and end times. If the below four bytes
  272.       are all zero (0), audio is enabled all the time *)
  273.  
  274.     AudioBeginHour,
  275.     AudioBeginMin,
  276.     AudioEndHour,
  277.     AudioEndMin   : byte;
  278.  
  279.     (* --- Minimum cost to process undialable *)
  280.  
  281.     MinUnDialCost : word;
  282.  
  283.     (* --- Carrier detect mask (commercial version), default=128 *)
  284.  
  285.     CDmask        : byte;
  286.  
  287.     (* --- FDCD buffer sizes (commercial version) *)
  288.  
  289.     FossilOutBs,
  290.     FossilInBs    : word;
  291.  
  292.     (* --- List to scan for SECURE sessions during file requests *)
  293.  
  294.     ReqSecList    : Arr71;
  295.  
  296.     (* --- Extended baud rate exits *)
  297.  
  298.     bbs7200,
  299.     bbs12000,
  300.     bbs14400      : byte;
  301.  
  302.     (* --- Custom screen size parameters to INT 10H (commercial version) *)
  303.  
  304.     SetCustomCRTax,
  305.     SetCustomCRTbx,
  306.     SetCustomCRTcx,
  307.     SetCustomCRTdx,
  308.  
  309.     ResetCustomCRTax,
  310.     ResetCustomCRTbx,
  311.     ResetCustomCRTcx,
  312.     ResetCustomCRTdx  : word;
  313.  
  314.     (* --- Alias List to scan for SECURE sessions *)
  315.  
  316.     ReqSecAlias   : Arr71;
  317.  
  318.     (* --- Command string to force modem to answer *)
  319.  
  320.     ModemAnswer   : Arr41;
  321.  
  322.     RESERVERAT    : Array[1..811] of Char;
  323.   End;
  324.  
  325.  
  326. (* Editor ------------------------------------------------------------------*)
  327.  
  328. CONST
  329.   EDITOR43LINES   = $00000001;                       (* Use 43/50-line mode *)
  330.   SHOWHARDCRS     = $00000002;          (* Display paragraph (hard CR) char *)
  331.   EDITORSWAP      = $00000004;         (* Swap file to LIM/EMS/DISK w/shell *)
  332.   EDITOREMSOK     = $00000008;         (* Whether or not EMS should be used *)
  333.   EDITORAUTOLINES = $00000010;         (* Use whatever screen mode is there *)
  334.   HONOR_CFM       = $00000020;                                 (* Honor CFM *)
  335.   EDITORCUSTOMCRT = $00000040;                  (* User-defined screen size *)
  336.   RKILL_NEVER_E   = $00000080;            (* Never ask "Delete Original?"-E *)
  337.   RKILL_NEVER_L   = $00000100;            (* Never ask "Delete Original?"-L *)
  338.   RKILL_NEVER_N   = $00000200;            (* Never ask "Delete Original?"-N *)
  339.   USEZONEGATE_YES = $00000400;                (* Always use zone gate if OK *)
  340.   USEZONEGATE_NO  = $00000800;           (* Never use zone gate, even if OK *)
  341.  
  342. (* --- Netmail folder behavior *)
  343.  
  344.   RESTRICTED      = $00000001;
  345.   EXPORTOK        = $00000004;
  346.   USEXLATTABLES   = $00000008;
  347.   EDREADONLY      = $00000020;
  348.  
  349.   MAXORIGIN       = 20;
  350.  
  351.  
  352. TYPE
  353.   EditRec         = RECORD
  354.  
  355.     (* --- Macro keys *)
  356.     (* F1-F12, Shift F1-F12 *)
  357.     
  358.     MacroKey      : Array[1..MAXKEY] of Arr61;
  359.  
  360.     (* --- Margin, default==60 *)
  361.  
  362.     Margin        : byte;
  363.  
  364.     (* --- Default message status *)
  365.  
  366.     MsgBits       : word;
  367.  
  368.     (* --- Miscellaneous settings *)
  369.  
  370.     Flags         : longint;
  371.  
  372.     (* --- Origin lines *)
  373.  
  374.     Origin        : Array[1..MAXORIGIN] of Arr61;
  375.  
  376.     (* --- Editor colors *)
  377.  
  378.     Color         : RECORD
  379.       TopLine,
  380.       StatusLine,
  381.       Error,
  382.       Text,
  383.       TextQuotes,
  384.       TextReverse,
  385.       TextHardCRs,
  386.       Header,
  387.       HeaderData,
  388.       HeaderDataHiLite,
  389.       DataEntry,
  390.       WndwFrame,
  391.       WndwText,
  392.       WndwSelect,
  393.       WndwHiLite  : byte;
  394.     End;
  395.  
  396.     (* --- Netmail folder flags *)
  397.  
  398.     NetBehave     : longint;
  399.  
  400.     (* --- Translation tables IN/OUT *)
  401.  
  402.     XlateIn,
  403.     XlateOut      : Array[0..255] of Char;
  404.  
  405.     (* --- Where Hudson-style message base files are *)
  406.  
  407.     QBase         : Arr71;
  408.  
  409.     (* --- Custom screen size parameters to INT 10H (commercial version) *)
  410.  
  411.     SetCustomCRTax,
  412.     SetCustomCRTbx,
  413.     SetCustomCRTcx,
  414.     SetCustomCRTdx,
  415.  
  416.     ResetCustomCRTax,
  417.     ResetCustomCRTbx,
  418.     ResetCustomCRTcx,
  419.     ResetCustomCRTdx  : word;
  420.  
  421.     (* --- RESERVED *)
  422.  
  423.     Reserved      : Array[1..1008] of Char;
  424.   End;
  425.  
  426.  
  427. (* Shared data ------------------------------------------------------------- *)
  428.  
  429. CONST
  430.   FASTKEY         = $00000001;
  431.   FLICKER         = $00000002;
  432.   BLACKOUT        = $00000004;
  433.   HAVEEXTKBD      = $00000008;                (* Use extended INT 16H calls *)
  434.   FORCE24HOUR     = $00000010;                 (* Force 24-hour time format *)
  435.  
  436.   SUPERUSER       = $00000001;                                (* User flags *)
  437.   ADMINUSER       = $00000002;
  438.   USER            = $00000004;
  439.   BYPASSRO        = $00010000;
  440.   BYPASSEXP       = $00020000;
  441.  
  442.   PROTECT_MEXIT   = $00000001;           (* Protect Alt-Q            Mailer *)
  443.   PROTECT_MSHELL  = $00000002;           (* Protect Alt-Z            Mailer *)
  444.   PROTECT_MKEYS   = $00000004;           (* Protect function keys    Mailer *)
  445.   PROTECT_MFREQ   = $00000008;           (* Protect file requests    Mailer *)
  446.   PROTECT_MXMIT   = $00000010;           (* Protect transmit         Mailer *)
  447.   PROTECT_MSEND   = $00000020;           (* Protect send mail        Mailer *)
  448.   PROTECT_MPOLL   = $00000040;           (* Protect poll             Mailer *)
  449.   PROTECT_MNCOMP  = $00000080;           (* Protect FDNC             Mailer *)
  450.   PROTECT_MQUEUE  = $00000100;           (* Protect mail queue       Mailer *)
  451.   PROTECT_MPRN    = $00000200;           (* Protect printer toggle   Mailer *)
  452.  
  453.   MAXAKA          = 10;
  454.   MAXUSER         = 10;
  455.  
  456. (*
  457. **  Domain structure
  458. *)
  459. TYPE
  460.   _DOMAIN         = RECORD
  461.     Zone,                                                (* Zone for domain *)
  462.     Reserved      : Word;
  463.     Name          : Array[1..28] of Char;                 (* Name of domain *)
  464.   End;
  465.  
  466. (*
  467. **  AKA matching structure
  468. *)
  469.   _ZMATCH         = RECORD                                 (* Zone to match *)
  470.     Zone,                                                   (* Net to match *)
  471.     Net,                                                      (* AKA to use *)
  472.     AKAnum        : Word;
  473.   End;
  474.  
  475. (*
  476. **  Shared information structure
  477. *)
  478.   ShrdRec         = RECORD
  479.     SystemPath,
  480.     MailPath,
  481.     SwapPath,
  482.     RescanPath,                                       (* Commercial version *)
  483.     _ReservedPath,
  484.     InfilePath,
  485.     PacketPath,
  486.     NodelistPath  : Arr71;
  487.  
  488.     CountryCode   : word;
  489.  
  490.     AKA           : Array[0..MAXAKA] of RECORD
  491.       Zone,
  492.       Net,
  493.       Node,
  494.       Point       : word;
  495.     End;
  496.  
  497.     (* --- Timeout value for screen blanker in SECONDS (0-255) *)
  498.  
  499.     Flags         : longint;
  500.     BlackoutTimer : byte;
  501.  
  502.     (* --- User record *)
  503.  
  504.     User          : Array[1..MAXUSER] of RECORD
  505.       Name        : Array[1..37] of Char;
  506.       PwdCrc,                        (* CRC-32 of user password, -1L No pwd *)
  507.       Flags       : longint;
  508.     End;
  509.  
  510.     (* --- Protection of exits (commercial version) *)
  511.  
  512.     ExitPwdCrc,                      (* Password for DOS shell, exits, etc. *)
  513.     ExitFlags     : longint;             (* Which flags should be protected *)
  514.  
  515.     (* --- Zone match set-up *)
  516.  
  517.     ZMatch        : Array[1..20] of _ZMATCH;
  518.  
  519.     (* --- "Domain" set-up *)
  520.  
  521.     Domain        : Array[1..20] of _DOMAIN;
  522.  
  523.     (* --- System information *)
  524.  
  525.     SiteInfo      : RECORD
  526.       Name        : Arr50;                                  (* Name of site *)
  527.       Location    : Arr40;                              (* Location of site *)
  528.       PhoneNo     : Arr26;               (* Phone number or '-Unpublished-' *)
  529.       MaxBaud     : Longint;                      (* Baud rate (300-115200) *)
  530.       Flags       : Arr50;                      (* Capability flags of site *)
  531.     End;
  532.  
  533.     (* --- Reserved *)
  534.  
  535.     Reserved      : Array[1..86] of Char;
  536.   End;
  537.  
  538.  
  539. (* Terminal --------------------------------------------------------------- *)
  540.  
  541. CONST
  542.   CONNECT_NOISE   = $00000001;
  543.   TRANSFER_NOISE  = $00000002;
  544.   USE_TRANSLATE   = $00000004;
  545.   USE_43LINES     = $00000008;
  546.   AUTOZMODEM      = $00000010;
  547.   NOWRAPAROUND    = $00000020;
  548.   LOCALECHO       = $00000040;
  549.   NOAVATAR        = $00000080;
  550.   USE_AUTOLINES   = $00000100;
  551.   NOCLRONFF       = $00000200;       (*Don't clear screen on form feeds*)
  552.   IEMSIACTIVE     = $00000400;               (*Interactive EMSI Support*)
  553.   TERMCUSTOMCRT   = $00000800;               (*User-defined screen size*)
  554.   TERMLOG         = $00001000;                    (*Logging in Terminal*)
  555.  
  556. TYPE
  557.   TermRec         = RECORD
  558.  
  559.     (* --- Init String *)
  560.  
  561.     InitString    : Arr41;
  562.  
  563.     (* --- Max memory to use for buffer (in K) *)
  564.  
  565.     ScrollSize    : word;
  566.  
  567.     (* --- 0=TTY, 1=ANSI, 2=VT52, 3=VT100 *)
  568.  
  569.     Emulation     : byte;
  570.  
  571.     (* --- Index in protocol list *)
  572.  
  573.     Protocol      : byte;
  574.  
  575.     (* --- Shift F1-F12 macro settings *)
  576.  
  577.     ShiftKeys     : Array[1..12] of Array[1..31] of Char;
  578.  
  579.     (* --- Ctrl F1-F12 macro settings *)
  580.  
  581.     CtrlKeys      : Array[1..12] of Array[1..31] of Char;
  582.  
  583.     (* --- Default download path *)
  584.  
  585.     DownloadPath  : Array[1..60] of Char;
  586.  
  587.     (* --- Default upload path *)
  588.  
  589.     UploadPath    : Array[1..60] of Char;
  590.  
  591.     (* --- Translation table - modem->screen *)
  592.  
  593.     XlatIn        : Array[0..255] of Char;
  594.  
  595.     (* --- Translation table - screen->modem *)
  596.  
  597.     XlatOut       : Array[0..255] of Char;
  598.  
  599.     (* --- Seconds to wait before next dial.. *)
  600.  
  601.     RetryWait     : byte;
  602.  
  603.     (* --- Behavior, sounds, flashes.. etc. *)
  604.  
  605.     Flags         : longint;
  606.  
  607.     (* --- CRC-32 of password to enter PhoneDir *)
  608.  
  609.     DirectoryPWD  : longint;
  610.  
  611.     (* --- Invoked with Alt-I *)
  612.  
  613.     Editor        : Array[1..60] of Char;
  614.  
  615.     (* --- Default profile. See TERMINAL.INC *)
  616.  
  617.     Profile       : Array[1..94] of byte;
  618.  
  619.     (* --- Custom screen size params to INT 10H (commercial version) *) 
  620.  
  621.     SetCustomCRTax,
  622.     SetCustomCRTbx,
  623.     SetCustomCRTcx,
  624.     SetCustomCRTdx,
  625.  
  626.     ResetCustomCRTax,
  627.     ResetCustomCRTbx,
  628.     ResetCustomCRTcx,
  629.     ResetCustomCRTdx  : word;
  630.  
  631.     (* --- Reserved *)
  632.  
  633.     Reserved      : Array[1..854] of Char;
  634.   End;
  635.  
  636.  
  637. (* Printer (commercial version) ------------------------------------------- *)
  638.  
  639. CONST
  640.   PAGE_FORMAT   = $00000001;
  641.   PAGE_FFEED    = $00000002;
  642.   EJECT         = $00000004;
  643.   MANUAL_PAPER  = $00000008;
  644.   HIDE_KLUDGE   = $00000010;
  645.   CONTINOUS     = $00000020;
  646.  
  647. TYPE
  648.   PrintRec      = RECORD
  649.     Port,                         (* 0 LPT1, 1 LPT2, 2 LPT3, 3 COM1, 4 COM2 *)
  650.     Baud,                                 (* 0 9600, 1 4800, 2 2400, 3 1200 *)
  651.     StopBits,                                           (* $00 - 1, $01 - 2 *)
  652.     WordLength,                                         (* $00 - 7, $01 - 8 *)
  653.     Parity,                            (* $00 - Even, $01 - Odd, $02 - None *)
  654.     PageLen     : byte;
  655.     Behavior    : longint;
  656.     Init,
  657.     Reset       : Arr71;
  658.     BoldOn,
  659.     BoldOff,
  660.     UnderOn,
  661.     UnderOff,
  662.     ItalicsOn,
  663.     ItalicsOff  : Arr31;
  664.     PageWidth,                                (* Width in columns of a page *)
  665.     LeftMargin,                (* Left margin, ie. start printing at column *)
  666.     Footer,                             (* Footer margin, ie. leave nn lines *)
  667.     Header      : byte;                  (* Header margin, ie. skip nn lines *)
  668.     XlatOut     : Array[0..255] of Char;(* Translation table, disk->printer *)
  669.     Reserved    : Array[1..100] of Char;
  670.   End;
  671.  
  672.  
  673. (*****************************************************************************
  674. **                                                                          **
  675. ** Don't use ANY of the data in the file if the CRC values are NOT correct. **
  676. **                                                                          **
  677. ** Check the fingerprint[] field before assuming 1.99b and higher. Your     **
  678. ** software should also check the sysrev field to make sure it's compatible **
  679. ** with the data listed in SETUP.FD                                         **
  680. **                                                                          **
  681. *****************************************************************************)
  682.  
  683. CONST
  684.   FD_THISREV    = $0100;
  685.  
  686. TYPE
  687.   CtlRec        = RECORD
  688.     FingerPrint : Array[1..5] of Char;          (* Must contain "JoHo<NUL>" *)
  689.     SysRev      : word;                    (* Must contain FD_THISREV above *)
  690.     CtlCrc      : longint;   (* CRC-32 of struct excluding the 1st 11 bytes *)
  691.     M           : MailRec;
  692.     E           : EditRec;
  693.     S           : ShrdRec;
  694.     T           : TermRec;
  695.     P           : PrintRec;
  696.     CtlCrc2     : longint;                       (* CRC-32 of all the above *)
  697.   End;
  698.  
  699. (* --- Uncomment this and compile to display size of records *)
  700. (*
  701. Begin
  702.   Writeln('Mail      ', Sizeof(MailRec));
  703.   Writeln('Editor    ', Sizeof(EditRec));
  704.   Writeln('Shared    ', Sizeof(ShrdRec));
  705.   Writeln('Terminal  ', Sizeof(TermRec));
  706.   WriteLn('Printer   ', SizeOf(PrintRec));
  707.   writeln('Total     ', sizeof(ctlrec));
  708. End.
  709. *)
  710. (* --------------------------------------------------------- *)
  711.  
  712. (* end of file "ctl.inc" *)
  713.